package com.xc.ezplan.admin.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xc.ezplan.admin.entity.AdminUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xc.ezplan.admin.vo.AdminUserVo;
import com.xc.ezplan.core.base.SearchCondition;
import com.xc.ezplan.core.dto.AdminUserDTO;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @author lixingchen
 * @date 2022/11/19
 * @description 后台角色接口
 */
public interface AdminUserService extends IService<AdminUser> {
    Object queryUser(Long userId);


    Object createUser(AdminUserVo adminUserVo);


    void updateUser(AdminUserVo adminUserVo);


    void deleteUser(List<Long> ids);


    void updateUserPass(JSONObject jsonObject);


    Object updateUserAvatar();


    Object updateUserEmail();


    Object centerUser();

    void exportUser(List<Long> userIds) throws IOException;

    Object pageQueryUser(SearchCondition searchCondition, Page<AdminUser> page);

    AdminUserDTO queryUserByUserName(String username);

    Map<String,Object> queryUserInfo();

    Object changeEnabled(Long userId, Boolean enabled);
}
